Skip to content

Test correct backend in examples test #597

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jun 10, 2025
Merged

Conversation

christiangnrd
Copy link
Member

Like #593 but targeting main

Copy link

codecov bot commented May 14, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 47.64%. Comparing base (474050e) to head (8d285db).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #597   +/-   ##
=======================================
  Coverage   47.64%   47.64%           
=======================================
  Files          22       22           
  Lines        1719     1719           
=======================================
  Hits          819      819           
  Misses        900      900           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

github-actions bot commented May 15, 2025

Your PR no longer requires formatting changes. Thank you for your contribution!

@christiangnrd
Copy link
Member Author

The wrong answers show up here, and locally I get a segfault. Is this an issue with the histogram example not having been updated or is this an issue with the implicit bounds checking?

Probably the same issue alluded to in JuliaGPU/GPUArrays.jl#590 (comment)

@christiangnrd
Copy link
Member Author

@christiangnrd christiangnrd force-pushed the corr branch 4 times, most recently from ec5d379 to 9c39536 Compare June 5, 2025 22:34
@christiangnrd

This comment was marked as outdated.

@christiangnrd
Copy link
Member Author

@vchuravy This is ready for review as it seems like all non-Enzyme related tests are now passing.

I know how busy you are so I organized the commits and added some extra context for some of the changes to try and make this as easy as possible for you to go over.

Typo in commit description: "1-24" should be "1024"

@vchuravy
Copy link
Member

Thanks!

@vchuravy vchuravy force-pushed the corr branch 2 times, most recently from 6917680 to 7526fea Compare June 10, 2025 09:47
christiangnrd and others added 6 commits June 10, 2025 10:40
Metal doesn't always support 1-24 threads, which causes intermittent errors with 32x32 tiles
The final part of the loop expects every thread to exists, so we cannot not launch them. Avoid work on extra threads until then.

Also use Int32 since some backends lack Int64 atomics, and make one of the tests have weird groupsize since that's when the errors used to pop up.
Co-authored-by: Christian Guinard <28689358+christiangnrd@users.noreply.github.com>
@vchuravy vchuravy merged commit dab03b9 into JuliaGPU:main Jun 10, 2025
23 of 26 checks passed
vchuravy pushed a commit that referenced this pull request Jun 10, 2025
* Use Float32 in examples with backends that don't support Float64

* Add `backend` argument for `examples_testset`

* Reduce `TILE_DIM` for compatibility

Metal doesn't always support 1-24 threads, which causes intermittent errors with 32x32 tiles

* Fix histogram implementation

The final part of the loop expects every thread to exists, so we cannot not launch them. Avoid work on extra threads until then.

Also use Int32 since some backends lack Int64 atomics, and make one of the tests have weird groupsize since that's when the errors used to pop up.

(cherry picked from commit dab03b9)
@christiangnrd christiangnrd deleted the corr branch June 10, 2025 14:15
vchuravy pushed a commit that referenced this pull request Jun 10, 2025
* Use Float32 in examples with backends that don't support Float64

* Add `backend` argument for `examples_testset`

* Reduce `TILE_DIM` for compatibility

Metal doesn't always support 1-24 threads, which causes intermittent errors with 32x32 tiles

* Fix histogram implementation

The final part of the loop expects every thread to exists, so we cannot not launch them. Avoid work on extra threads until then.

Also use Int32 since some backends lack Int64 atomics, and make one of the tests have weird groupsize since that's when the errors used to pop up.

(cherry picked from commit dab03b9)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants